//package com.sws.worktive.task;
//
//import java.io.BufferedReader;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.InputStreamReader;
//import java.io.UnsupportedEncodingException;
//import java.util.List;
//
//import org.apache.http.HttpEntity;
//import org.apache.http.HttpResponse;
//import org.apache.http.NameValuePair;
//import org.apache.http.client.ClientProtocolException;
//import org.apache.http.client.entity.UrlEncodedFormEntity;
//import org.apache.http.client.methods.HttpDelete;
//import org.apache.http.client.methods.HttpGet;
//import org.apache.http.client.methods.HttpPost;
//import org.apache.http.client.methods.HttpPut;
//import org.apache.http.impl.client.DefaultHttpClient;
//import org.json.JSONArray;
//import org.json.JSONException;
//import org.json.JSONObject;
//
//import com.sws.worktive.R;
//import com.sws.worktive.ViewScreen;
//import com.sws.worktive.model.Jobs;
//import com.sws.worktive.util.Constant;
//import com.sws.worktive.util.HttpMethod;
//
//import android.app.ProgressDialog;
//import android.content.Context;
//import android.os.AsyncTask;
//import android.util.Log;
//
//public class DownloadData extends AsyncTask<String, JSONObject, JSONObject> {
//
//	InputStream is = null;
//	JSONObject jObj = null;
//	String json = "";
//	JsonParser jsonParser;
//	ProgressDialog mProgressDialog;
//	Context mContext;
//	ViewScreen viewScreen;
//
//	public DownloadData(ViewScreen viewScreen) {
//		// TODO Auto-generated constructor stub
//		this.viewScreen = viewScreen;
//		this.mContext = viewScreen.getActivity();
//	}
//
//	@Override
//	protected void onPreExecute() {
//		// TODO Auto-generated method stub
//		super.onPreExecute();
//		jsonParser = new JsonParser();
//		mProgressDialog = ProgressDialog.show(mContext, "", mContext
//				.getResources().getString(R.string.loading_jobs));
//	}
//
//	@Override
//	protected JSONObject doInBackground(String... params) {
//		// TODO Auto-generated method stub
//
//		return jsonParser.getJSONFromUrl(params[0]);
//	}
//
//	@Override
//	protected void onProgressUpdate(JSONObject... values) {
//		// TODO Auto-generated method stub
//		super.onProgressUpdate(values);
//		Jobs job = null;
//		try {
//			JSONObject jsonObject = new JSONObject(values[0].toString());
//			job = new Jobs();
//			job.setDescription(jsonObject.optString(Constant.DESCRIPTION));
//			job.setLatitude(jsonObject.optString(Constant.LATITUDE));
//			job.setLongitude(jsonObject.optString(Constant.LONGITUDE));
//			job.setJobType(jsonObject.optString(Constant.JOB_TYPE));
//			job.setIsImage(jsonObject.optString(Constant.IS_IMAGE));
//			if (jsonObject.optString(Constant.IS_IMAGE).equals("1")) {
//				job.setImgUrl(jsonObject.optString(Constant.IMAGE_URL));
//			}
//			job.setExpireDate(jsonObject.optString(Constant.EXPIRE_DATE));
//			job.setAddedDate(jsonObject.optString(Constant.ADDED_DATE));
//			job.setLastModifiedDate(jsonObject
//					.optString(Constant.LAST_MODIFIED));
//			job.setCity(jsonObject.optString(Constant.CITY));
//			job.setState(jsonObject.optString(Constant.STATE));
//			job.setStateCode(jsonObject.optString(Constant.STATECODE));
//
//		
//
//		} catch (Exception e) {
//			// TODO: handle exception
//
//			e.printStackTrace();
//		}
//		if (job != null) {
//			addJobs(job);
//		}
//
//	}
//
//	void addJobs(Jobs... jobs) {
//		for (Jobs job : jobs) {
//			 viewScreen.jobAdapter.addJObs(job);
//			 viewScreen.jobAdapter.notifyDataSetChanged();
//		}
//	}
//
//	@Override
//	protected void onPostExecute(JSONObject result) {
//		// TODO Auto-generated method stub
//		super.onPostExecute(result);
//		if (mProgressDialog.isShowing())
//			mProgressDialog.dismiss();
//	}
//
//	class JsonParser {
//		// Get JSON
//		// =====================================================================
//		public JSONObject getJSONFromUrl(String url) {
//			return getJSONFromUrl(url, null, HttpMethod.GET);
//		}
//
//		public JSONObject getJSONFromUrl(String url, List<NameValuePair> params) {
//			return getJSONFromUrl(url, params, HttpMethod.POST);
//		}
//
//		public JSONObject getJSONFromUrl(String url,
//				List<NameValuePair> params, HttpMethod method) {
//
//			// Making HTTP request
//			try {
//				// defaultHttpClient
//				DefaultHttpClient httpClient = new DefaultHttpClient();
//				HttpResponse httpResponse = null;
//				switch (method) {
//				case POST:
//					HttpPost httpPost = new HttpPost(url);
//					httpPost.setEntity(new UrlEncodedFormEntity(params));
//					httpResponse = httpClient.execute(httpPost);
//					break;
//				case PUT:
//					HttpPut httpPut = new HttpPut(url);
//					httpPut.setEntity(new UrlEncodedFormEntity(params));
//					httpResponse = httpClient.execute(httpPut);
//					break;
//				case DELETE:
//					HttpDelete httpDelete = new HttpDelete(url);
//					httpResponse = httpClient.execute(httpDelete);
//					break;
//				case GET:
//					if (params != null && params.size() > 0) {
//						if (url.indexOf("?") > 0) {
//							if (url.indexOf("?") != url.length() - 1) {
//								url = url + "&";
//							}
//						} else {
//							url = url + "?";
//						}
//						url = url + new UrlEncodedFormEntity(params);
//					}
//					HttpGet httpGet = new HttpGet(url);
//					httpGet.setHeader("Authorization", "Basic cmVzOmhlcm8=");
//					httpResponse = httpClient.execute(httpGet);
//
//					break;
//				default:
//					return null;
//
//				}
//
//				HttpEntity httpEntity = httpResponse.getEntity();
//				is = httpEntity.getContent();
//
//			} catch (UnsupportedEncodingException e) {
//				e.printStackTrace();
//			} catch (ClientProtocolException e) {
//				e.printStackTrace();
//			} catch (IOException e) {
//				e.printStackTrace();
//			}
//
//			try {
//				BufferedReader reader = new BufferedReader(
//						new InputStreamReader(is, "iso-8859-1"), 8);
//				StringBuilder sb = new StringBuilder();
//				String line = null;
//				while ((line = reader.readLine()) != null) {
//					sb.append(line + "\n");
//				}
//				is.close();
//				json = sb.toString();
//				Log.e("JSON", json);
//			} catch (Exception e) {
//				Log.e("Buffer Error", "Error converting result " + e.toString());
//			}
//
//			// try parse the string to a JSON object
//
//			try {
//				jObj = getParsedData(json);
//			} catch (Exception e) {
//				// TODO: handle exception
//				Log.e("JSON Parser", "Error parsing data " + e.toString());
//			}
//
//			return jObj;
//
//		}
//
//		private JSONObject getParsedData(String jSon) throws Exception {
//			JSONObject jsonObject = new JSONObject(jSon);
//			int status = jsonObject.getInt(Constant.STATUS);
//			if (status == 1) {
//				JSONArray jsonArray = jsonObject.getJSONArray(Constant.JOBS);
//				for (int i = 0; i < jsonArray.length(); i++) {
//
//					publishProgress(jsonArray.getJSONObject(i));
//				}
//
//			}
//			return jsonObject;
//		}
//	}
//
//}
